package report

import (
	"context"
	pb "git.mycaigou.com/gfyx/micro-gfyx-oppty-service/proto/micro_gfyx_oppty_service_proto/micro-gfyx-oppty-service/clue"
)

type OpptyReportServiceIface interface {
	// GetReportList 获取我的商机列表
	GetReportList(ctx context.Context, request *pb.GetReportListRequest) (*pb.GetReportListResponse, error)
	TestTenantDbEnable(ctx context.Context, request *pb.TestTenantDbEnableRequest) (*pb.TestTenantDbEnableResponse, error)
	GetRegionReportList(ctx context.Context, request *pb.GetReportListRequest) (*pb.GetReportListResponse, error)
	SaveFollowRecord(ctx context.Context, request *pb.SaveFollowRecordRequest) (*pb.SaveFollowRecordResponse, error)
	GetFollowRecordList(ctx context.Context, request *pb.GetFollowRecordListRequest) (*pb.GetFollowRecordListResponse, error)
	// SaveReport 保存报备信息
	SaveReport(ctx context.Context, request *pb.SaveReportRequest) (bool, string, error)
	GetReport(ctx context.Context, reportId string) (*pb.GetReportResponse, error)
	// CheckSaveReportParams 检查必填报备数据
	CheckSaveReportParams(ctx context.Context, request *pb.SaveReportRequest) error
	// GetReportSourceInfo 获取报备表单填充信息，仅支持clue
	GetReportSourceInfo(ctx context.Context, sourceType, sourceId string) (*pb.GetReportSourceInfoResponse, error)
	// GetTeamLeader 获取负责团队
	GetTeamLeader(ctx context.Context, reportUid string) (*pb.GetTeamLeaderResponse, error)
	// MyReportStat 我的报备统计
	MyReportStat(ctx context.Context, request *pb.MyReportStatRequest) (*pb.MyReportStatResponse, error)
	// GetUserList 获取负责人列表
	GetUserList(ctx context.Context, request *pb.GetUserListRequest) (*pb.GetUserListResponse, error)
	// SendShareReceiveMsg 发送分享领取通知
	SendShareReceiveMsg(ctx context.Context, req *pb.SendShareReceiveMsgRequest) error
}
